<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class M_Novedad extends Modelo {

    public $id = null;
    public $causaId;
    public $usuarioId;
    public $titulo;
    public $descripcion;
    public $fecha;

    function __construct() {
        parent::__construct();
        $this->tabla = 'notas';
    }

    function setAttributes($datos = array(), $tipo = 'object') {
        return parent::_setAttributes(__CLASS__, $datos, $tipo);
    }

    function doArray() {
        return parent::_doArray(__CLASS__);
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function getValidacion() {
        $valid = array(
            array('field' => 'fecha', 'label' => 'fecha', 'rules' => 'date|required'),
            array('field' => 'titulo', 'label' => 'titulo', 'rules' => 'trim|required'),
            array('field' => 'descripcion', 'label' => 'descripcion', 'rules' => 'trim|required'),
        );
        return $valid;
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function valoresPorDefecto() {
        return array(
            'causaId' => '',
            'usuarioId' => '',
            'titulo' => '',
            'descripcion' => '',
            'fecha' => gmdate('d/m/Y'),
        );
    }

    /**
     * Devuelve lista de nostas del administrador
     */
    function getListAdmin($causaId) {
        $this->db->select($this->tabla . '.*');
        $this->db->from($this->tabla);
        $this->db->join('usuarios', 'usuarios.id = ' . $this->tabla . '.usuarioId');
        $this->db->where($this->tabla . '.causaId', $causaId);
        $this->db->where('usuarios.tipoId', 1);

        $results = $this->db->get();

        return $results->result_object();
    }

    /**
     * Devuelve lista de nostas del administrador
     */
    function getListNoAdmin($causaId) {
        $this->db->select($this->tabla . '.*');
        $this->db->from($this->tabla);
        $this->db->join('usuarios', 'usuarios.id = ' . $this->tabla . '.usuarioId');
        $this->db->where($this->tabla . '.causaId', $causaId);
        $this->db->where('usuarios.tipoId !=', 1);

        $results = $this->db->get();

        return $results->result_object();
    }

    /**
     * Devuelve lista de nostas del administrador
     */
    function puedeEditar($tipoId) {
        if ($tipoId != 1) {
            $this->db->select('*');
            $this->db->from('usuarios');
            $this->db->where('tipoId !=', 1);
            $this->db->where('id', $this->usuarioId);

            $results = $this->db->get();
            $resutado = $results->result_object();

            $return = (empty($resutado)) ? false : true;
        } else {
            $return = true;
        }
        return $return;
    }

}